package consultorio

class Paciente {
	
	String nombre
	String apellido
	Integer dni
	String email
	String password
	Date fecha_nacimiento
	//Historial (traer todos los turnos y recetas de los turnos)
		
	static hasMany=[turnos:Turno, enfermedadespreexistentes:Enfermedad, medicamentosnotolerables:Medicamento, alergiaspreexistentes:Alergia]

    static constraints = {
		nombre(nullable:false,blank:false,minSize:3, maxSize:20)
		apellido(nullable:false,blank:false,minSize:3, maxSize:20)
		dni(nullable:false,blank:false,minSize:8, maxSize:12, unique:true)
		email(nullable:false,blank:false,minSize:6,maxSize:40, unique:true, email:true)
		password(nullable:false,blank:false,size:1..40,password:true)
		fecha_nacimiento(nullable:false,blank:false)
		turnos()
    }
	
	static mapping = {
		enfermedadespreexistentes(fetch:"join")
		medicamentosnotolerables(fetch:"join")
		alergiaspreexistentes(fetch:"join")
		turnos(fetch:"join")
	}
	
	String toString(){
		return "DNI:" + this.dni + " Nombre:" + this.nombre + " " + this.apellido;
	}
}
